package com.ks.utils;

import java.util.HashMap;
import java.util.Map;

import org.json.JSONArray;
import org.json.JSONObject;

import com.ks.entity.User;

public class JsonUtils {
	/**
	 * 把值转换为JSONArray对象。如果值为null或JSONArray直接返回该值，否则返回新的包含该值的JSONArray对象。
	 * @param value 需要转换为JSONArray的值。
	 * @return 转换为JSONArray后的值或null。
	 */
	public static JSONArray toJsonArray(Object value) {
		if (value == null || value instanceof JSONArray) {
            return (JSONArray) value;
        } else {
            return new JSONArray().put(value);
        }
	}

	/**
	 * 把值转换为JSONObject对象。如果值为null或JSONObject直接返回该值，否则返回使用此值构造后的JSONObject对象。
	 * @param value 需要转换为JSONObject的值。
	 * @return 转换为JSONObject后的值或null。
	 */
	public static JSONObject toJsonObject(Object value) {
		if (value == null || value instanceof JSONObject) {
            return (JSONObject) value;
        } else {
            return new JSONObject(value);
        }
	}
	public static void main(String[] args) {
		Map<String,Object> map = new HashMap<String,Object>(); 
		User user = new User();
		map.put("ret", 1);
		map.put("ret1", 2);
		map.put("data", user);
		JSONObject json = new JSONObject(map);
		System.out.println(json);
//		JSONObject json = JsonUtils.toJsonObject(map);
		System.out.println(toJsonObject(map));
	}

}
